home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Source Code
/
Visual Basic Source Code.iso
/
vbsource
/
schema
/
schemasp.frm
< prev
next >
Wrap
Text File
|
1996-04-13
|
7KB
|
253 lines
VERSION 4.00
Begin VB.Form Form1
Caption = "SchemaSpy"
ClientHeight = 4140
ClientLeft = 1140
ClientTop = 1515
ClientWidth = 6690
Height = 4830
Left = 1080
LinkTopic = "Form1"
ScaleHeight = 4140
ScaleWidth = 6690
Top = 885
Width = 6810
WindowState = 2 'Maximized
Begin VB.ListBox List3
Height = 3765
Left = 6420
TabIndex = 5
Top = 765
Width = 2760
End
Begin VB.ListBox List2
Height = 3765
Left = 3435
TabIndex = 4
Top = 780
Width = 2760
End
Begin VB.ListBox List1
Height = 3765
Left = 450
TabIndex = 3
Top = 765
Width = 2760
End
Begin VB.Label Label5
AutoSize = -1 'True
Caption = "Double-Click Table Name for Fields and Index List"
Height = 195
Left = 480
TabIndex = 7
Top = 4740
Width = 3525
End
Begin VB.Label Label4
AutoSize = -1 'True
BeginProperty Font
name = "MS Sans Serif"
charset = 0
weight = 700
size = 9.75
underline = 0 'False
italic = 0 'False
strikethrough = 0 'False
EndProperty
Height = 240
Left = 720
TabIndex = 6
Top = 75
Width = 75
End
Begin VB.Label Label3
Caption = "Indexes"
Height = 225
Left = 6390
TabIndex = 2
Top = 480
Width = 1815
End
Begin VB.Label Label2
Caption = "Fields (Type and size)"
Height = 225
Left = 3450
TabIndex = 1
Top = 480
Width = 1890
End
Begin VB.Label Label1
Caption = "Tables"
Height = 195
Left = 495
TabIndex = 0
Top = 510
Width = 2160
End
Begin MSComDlg.CommonDialog CommonDialog1
Left = 8295
Top = 4485
_Version = 65536
_ExtentX = 847
_ExtentY = 847
_StockProps = 0
Copies = 2
DefaultExt = "mdb"
DialogTitle = "CD1"
Filter = "MSAccess (*.mdb)|*.mdb"
FontSize = 10
InitDir = "C:"
End
Begin VB.Menu MenuFile
Caption = "&File"
Begin VB.Menu OpenMenu
Caption = "&Open"
End
Begin VB.Menu S1
Caption = "-"
End
Begin VB.Menu PrintMenu
Caption = "&Print"
End
Begin VB.Menu PrintAllMenu
Caption = "Print &All"
End
Begin VB.Menu S2
Caption = "-"
End
Begin VB.Menu ExitMenu
Caption = "E&xit"
End
End
End
Attribute VB_Name = "Form1"
Attribute VB_Creatable = False
Attribute VB_Exposed = False
Public DB As Database
Public dbName As String
Public tbldef As TableDef
Public fld As Field
Public Indx As Index
Private Sub OpenTheDataBase()
dbName = CommonDialog1.filename
Label4.Caption = "Schema for " & dbName
Set DB = DBEngine.OpenDatabase(dbName)
End Sub
Private Sub SetupDataFields()
List2.Clear
List3.Clear
OpenTheDataBase
For Each tbldef In DB.TableDefs
If tbldef.Name = List1.Text Then
For Each fld In tbldef.Fields
a$ = fld.Name & " "
Select Case fld.Type
Case 8: a$ = a$ & ": Date / Time"
Case 10: a$ = a$ & ": Text " & fld.Size
Case 12: a$ = a$ & ": Memo"
Case 1: a$ = a$ & ": Yes / No"
Case 3: a$ = a$ & ": Integer"
Case 4: a$ = a$ & ": Long"
Case 5: a$ = a$ & ": Currency"
Case 6: a$ = a$ & ": Single"
Case 7: a$ = a$ & ": Double"
Case 2: a$ = a$ & ": Byte"
Case 11: a$ = a$ & ": Long Binary"
End Select
List2.AddItem a$
Next
For Each Indx In tbldef.Indexes
List3.AddItem Indx.Name
Next
End If
Next
End Sub
Private Sub SetupDataTables()
List1.Clear
List2.Clear
List3.Clear
OpenTheDataBase
For Each tbldef In DB.TableDefs
If InStr(tbldef.Name, "MSys") = 0 Then _
List1.AddItem tbldef.Name
Next
End Sub
Private Sub ExitMenu_Click()
Unload Me
End
End Sub
Private Sub Form_Unload(Cancel As Integer)
Close
End Sub
Private Sub List1_DblClick()
SetupDataFields
End Sub
Private Sub OpenMenu_Click()
CommonDialog1.ShowOpen
SetupDataTables
End Sub
Private Sub PrintAllMenu_Click()
Printer.Print "Schema of " & dbName
Printer.Print
OpenTheDataBase
For Each tbldef In DB.TableDefs
If InStr(tbldef.Name, "MSys") = 0 Then
Printer.Print tbldef.Name
Printer.Print
For Each fld In tbldef.Fields
a$ = Chr$(9) & fld.Name & Chr$(9)
Select Case fld.Type
Case 8: a$ = a$ & ": Date / Time"
Case 10: a$ = a$ & ": Text " & fld.Size
Case 12: a$ = a$ & ": Memo"
Case 1: a$ = a$ & ": Yes / No"
Case 3: a$ = a$ & ": Integer"
Case 4: a$ = a$ & ": Long"
Case 5: a$ = a$ & ": Currency"
Case 6: a$ = a$ & ": Single"
Case 7: a$ = a$ & ": Double"
Case 2: a$ = a$ & ": Byte"
Case 11: a$ = a$ & ": Long Binary"
End Select
Printer.Print a$
Next
End If
Printer.Print
On Error GoTo done
For Each Indx In tbldef.Indexes
Printer.Print Chr$(9) & Indx.Name
Next
Next
done:
Printer.EndDoc
End Sub
Private Sub Tables_DblClick()
SetupDataFields
End Sub
Private Sub PrintMenu_Click()
Printer.Print "Schema for " & dbName
Printer.Print "Table " & List1.Text
Printer.Print
For j = 0 To List2.ListCount - 1
List2.ListIndex = j
Printer.Print Chr$(9) & List2.Text
Next
Printer.Print
Printer.Print "Indexes"
For j = 0 To List3.ListCount - 1
List3.ListIndex = j
Printer.Print Chr$(9) & List3.Text
Next
Printer.EndDoc
End Sub